home *** CD-ROM | disk | FTP | other *** search
/ hornet.scene.org / hornet.scene.org FTP 11-25-2012.zip / hornet.scene.org FTP 11-25-2012 / code / contests / 8086 / 8086_com.txt < prev    next >
Text File  |  2012-06-16  |  18KB  |  341 lines

  1. Start.of.8086.Rules.v1.1...........................................Size:17,870
  2.  
  3.     ___________/\_ ______________      ______ _______     ______   /\______
  4.     \__    ___/   |   \_   _____/     /  __  \\   _  \   /  __  \ /  _____/
  5.       |    | /    ~    \    __)_      >      </  /_\  \  >      </   __  \ 
  6.       |    | \    Y    /        \    /   --   \  \_/   \/   --   \  |__\  \
  7.       |____|  \___|___/_________/    \________/\_______/\________/\_______/
  8.  
  9.               _______/\  ________      _____ __________/\______   
  10.               \_   ___ \ \_____  \    /     \\______   \_____  \  
  11.               /    \  \/  /   |   \  /  \ /  \|     ___//   |   \ 
  12.               \     \____/    |    \/    Y    \    |   /    |    \
  13.                \________/\_________/\____|____/____|   \_________/
  14.  
  15.                The 8086 Compo Rules Info File - October 6th, 1995
  16.                                  -------------
  17.   The 8086 Compo is a demo competition organized by Hornet over the internet.  
  18.   Hornet produces DemoNews, a newsletter for the demo scene, at ftp.cdrom.com.
  19.                   Our demo archive is located under /pub/demos.
  20.  
  21.            This document is also available on the World Wide Web at
  22.     http://www.cdrom.com/pub/demos/hornet/8086 and has all links enabled.
  23.      You can also download the most recent version of this document from
  24.             ftp://ftp.cdrom.com/pub/demos/hornet/8086/8086_com.txt
  25.  
  26.     All new items added since version 1.0 have a "%" in the first column.
  27.           This makes it easy to see what has been added or changed.
  28.  
  29.  
  30. =--------------------------------------------------------------[Introduction]-=
  31.  
  32.  _____Why an 8086 Compo?
  33.  
  34.  Much like Snowman pioneered hosting Music Contest 2 and 3 over the internet,
  35.  Hornet is now hosting a demo compo over the internet--but this compo has a
  36.  very interesting limitation:  All entries must run on an 8086.  But why an
  37.  8086 compo?
  38.  
  39.  Many demos and intros today are, sadly, either "object shows" or bundles of
  40.  poorly optimized routines.  Many of the older coders in the scene long for
  41.  the days of hard, fast, to-the-metal coding, when your only demo machine was
  42.  an 8086 with CGA or EGA.  You *had* to code well to create anything decent;
  43.  just look at some of the 3D games of that time, like Elite or Flight
  44.  Simulator 1.0.  People don't write code like that anymore, prefering instead
  45.  to use the 80387 for floating-point, or off-screen buffers for animating
  46.  simple small objects.  It's almost like a Pentium isn't good enough anymore!
  47.  
  48.  So, to seperate the men from the boys, Hornet is hosting the first 8086
  49.  compo.  Prizes aside, this is a *real* way to prove your raw programming
  50.  skill and impress everybody!
  51.  
  52.  
  53. =-----------------------------------------------------------------[The Rules]-=
  54.  
  55.  _____The Machine
  56.  
  57.  The compo machine is a Tandy 1000 with 640K of RAM and a 20 MB hard disk.
  58.  The Tandy, as you recall, is a 4.77MHz 8088 CPU and has CGA graphics
  59.  (320x200x4 and 640x200x2) and CGA 80x25 16-color text mode (normal CGA text,
  60.  which has no palettes or EGA/VGA font-changing).  (The Tandy actually has
  61.  slightly more hardware than that, but I'll get to that later.)  You do *not*
  62.  have to use the extra graphics or sound capabilities of the Tandy, but you'll
  63.  get Extra points if you do.  For a list of suggestions on how to score higher
  64.  in the compo, read the section "Programming Extras and Suggestions"; for an
  65.  explanation of what Extra points are, read the section, "The Judging".
  66.  Sorry, but actual EGA is not allowed--the compo machine doesn't support it,
  67.  and that's not the point of the compo anyway.
  68.  
  69. %A Sound Blaster 1.5 (without the CMS ships, sorry) will be in the compo
  70. %machine, and a Covox Speech Thing (actually, just a normal LPT DAC) will be
  71. %attached to the parallel port.  So, your available sound output options are:
  72. %Sound Blaster, Adlib/FM, PC Speaker, LPT DAC, and Tandy 3-voice sound.
  73.  
  74.  If the demo entry doesn't run on the compo machine for some reason, it will
  75.  be tested on another 8088 (different brand of computer) running at 4.77MHz.
  76.  
  77.  Finally, you do not need to have access to an 8086 to enter the compo--but
  78.  make sure your entry runs on one.  :-)
  79.  
  80.  _____Technical Guidlines
  81.  
  82.  All entries must be no more than 360K.  Compression is fine; a 360K .ZIP or
  83.  .ARJ file is acceptable.  (Why 360K?  That's the size of a double density 5
  84.  1/4" floppy disk, which is the way the earliest demos were distributed.)  The
  85.  demo must not exceed 10 MB uncompressed, however, because that's the total
  86.  amount of free space allowed on the hard drive, which is where your demo will
  87.  run.
  88.  
  89.  Anything is allowed, including lookup-table tricks and precalculation, within
  90.  reasonable time limits.  (This is probably the only compo you can enter where
  91.  precalculation is not only allowed, but encouraged!)  If you have to
  92.  precalculate something, it has to take less than 15 minutes and, preferably,
  93.  display a time elapsed/time remaining display.  All precalculation must be
  94.  done before the demo starts to avoid long pauses in the middle of the demo,
  95.  but can be written to the hard disk for quick retrevial during the demo.  Up
  96.  to 10 MB of hard disk storage on drive C: is allowed for storing
  97.  precalculation.
  98.  
  99.  _____The Judging
  100.  
  101.  I (Trixter / Hornet) am the initial judge of the compo because I still have
  102.  my Tandy 1000 as well as my *other* 4.77 MHz PC; I also have access to
  103.  *another* working Tandy 1000, also with a hard drive, in case the compo
  104.  machine breaks down.  However, anyone else can judge if they have access to
  105.  a 4.77MHz PC.  Or, if you live in the Chicagoland area, you can come to my
  106.  house to judge as well.  To become a judge, contact me at trixter@mcs.com or
  107.  trixter@ftp.cdrom.com and I'll send you a program that verifies if your
  108.  computer is the correct speed for judging.
  109.  
  110.  Up to 10 points will be given in the following areas:  Graphics, Sound, Code,
  111.  and Extra.  So, the maximum score an entry can get is 40 points.  Here's how
  112.  the categories break down:
  113.  
  114.  Graphics:    Good art and design elements get higher scores.
  115.         Don't feel like you're limited to 320x200x4; CGA
  116.         also has a 640x200x2 color mode that's usable for
  117.         some high-res stuff.
  118.  Sound:         Any sound is better than nothing; look in
  119.         the section "Programming Extras and Suggestions"
  120.         for more ideas on producing different types of
  121.         music and sound.
  122.  Programming:    Anything impressive or clever earns higher
  123.         scores.  Pre-calculation is allowed, with some
  124.         limitations; see above for furthur explanation.
  125.  Extra:        The "Extra" category is a way to earn more points 
  126.         with either clever design, a particularly advanced
  127.         programming trick (see the section "Programming
  128.         Extras and Suggestions"), or anything else that
  129.         impresses the viewer.  All Extra categories start
  130.         at 3 points, and you can actually *lose* Extra
  131.         points if your demo is offensive, vulgar, etc.
  132.  
  133.  _____Deadline and Time Lines
  134.  
  135. %The compo starts accepting submissions on October 15th and ends accepting on
  136. %January 31st.  The judging will be from February 1st to 7th (to allow time
  137. %for the other judges to get their results to me).  The results will be
  138. %released after February 10th in DemoNews and on a Web page along with all the
  139. %entries.  The prizes will be mailed out shortly thereafter.
  140.  
  141.  _____Submitting Entries
  142.  
  143.  Submit your entries to the FTP site ftp.cdrom.com in the
  144.  /pub/demos/incoming/code/8086/entries directory.  If your upload is bad,
  145.  upload it again ending in ".good".  Be sure to include a text file including
  146.  your name, email address, phone number, and mailing address (in case you win
  147.  a prize).
  148.  
  149.  _____The Prizes
  150.  
  151. %Nobody used to do demos for money, just recognition.  But in the current
  152. %tradition of mega-parties, over 10 prizes are offered, and are pieces of
  153. %software (games) for the IBM PC.  The first-place winner of the compo gets
  154. %first pick of what he wants mailed to him (mailed free of charge, of
  155. %course); the 2nd place gets second choice, etc.  All prizes have full docs
  156. %and boxes (i.e.  they're not pirated, they've been bought and paid for), and
  157. %many still have registration cards.  If less than 10 people participate,
  158. %then the distribution of the prizes will continue round-robin until they all
  159. %are distributed.  This means that if only five people enter, they will each
  160. %walk away with 2 prizes, etc.  Sorry, only one entry per person or group is
  161. %allowed, and only three prizes per person will be distributed.
  162.  
  163.  The prizes offered are a wide range of games for different CPU platforms;
  164.  this way, if you still use a 8086 or 286, these will still be of some
  165.  benefit.  :-)  Here's a list of the prizes and the CPU recommended to play
  166.  them:
  167.  
  168.  Name                Type                CPU Required
  169.  ~~~~                ~~~~                ~~~~~~~~~~~~
  170.  Savage Warriors         Fighting game; CDROM        Pentium
  171.  Evasive Action         Action; Flight simulator    486
  172. %Falcon 3.0            Action; Flight simulator    486
  173. %SimEarth for Windows        God/Sim                386
  174.  Lands of Lore             Adventure/RPG            386
  175.  Pinball Arcade         Pinball; CDROM            386
  176.  Wing Commander Academy     Space Sim            386
  177.  Wing Commander Privateer    Space Sim            386
  178.  Body Blows             Fighting            286
  179.  Alien Breed             Action                286
  180.  The Last Ninja         Adventure/Fighting        8086
  181.  Prophecy             Adventure/RPG            8086
  182.  
  183.  
  184. =----------------------------------------------[Programming Hints/Techniques]-=
  185.  
  186.  _____Obvious Pitfalls
  187.  
  188. %A question is probably in your head right now:  "How will I know how my
  189. %program runs on an 8086 if I don't own one?"  From a technical standpoint,
  190. %make sure you follow the obvious rules:  Don't use any 8087 or 80286 / 80386
  191. %instructions (if you're writing it in Turbo Pascal, make sure you turn off
  192. %286 code generation with {$G-} and 8087 instructions with {$N-}).  Also,
  193. %don't try to use hardware that isn't there (i.e.  Don't attempt to change
  194. %into VGA mode or write to A000:0000 if there isn't a VGA in the system,
  195. %etc.)
  196.  
  197.  _____Free Beta-testing
  198.  
  199.  The harder issue at hand, however, is how do determine how fast it will run
  200.  if you don't have that slow a machine to test on.  The good news is that I
  201.  will test anything submitted to me on the actual compo machine to make sure
  202.  it works--in other words, I will beta-test your compo entry as many times as
  203.  you like in order to make sure it runs okay and runs like you think it
  204.  should.  Just make sure you get it to me as many times as necessary before
  205.  the submission period ends.
  206.  
  207. %I am also attempting to hook up my video capture board to the compo machine.
  208. %If this is successful, you can receive a Video for Windows file of your demo
  209. %being tested, with either the sound of the demo, or my voice annotating what
  210. %I'm seeing and other comments.
  211.  
  212.  
  213.  _____Checking for Speed
  214.  
  215.  You might want to avoid the standard technique of creating an off-screen
  216.  buffer and then moving the buffer to video memory, like in many demos today.
  217.  This works on modern machines with VLB or PCI video cards, but you will
  218.  probably not exceed 10-12 frames per second on an 8086 if you do this,
  219.  regardless of the fact that you're only moving 16K.  (Remember, we're talking
  220.  about the *slowest PC ever*.)  You should instead only copy part of the
  221.  screen, or maybe only the parts that have changed.  You may also want to
  222.  consider writing directly to the screen.  Use "dirty rectangles" to eliminate
  223.  flicker, etc.
  224.  
  225.  As for tips on making sure it works *well*, try using a timer for movement
  226.  and other calculations.  This way, you can get the movement correct on your
  227.  faster PC, and you'll be sure that it moves the same way on the slower one
  228.  (but, of course, at a much lower frame rate.  :)  You can also insert delays
  229.  in your code if you like, with compile directives so you can "compile them
  230.  out" when you're finished.  Try locking the screen update rate at 8 frames
  231.  per second, to get a feeling of how it will look.
  232.  
  233.  Finally, there's nothing wrong with making the whole thing run in text mode.
  234.  For an example of what text mode can do, look at some of the excellent
  235.  text-mode demos I've provided on ftp.cdrom.com in the
  236.  /pub/demos/incoming/code/8086/examples directory.
  237.  
  238.  
  239. =----------------------------------------[Programming Extras and Suggestions]-=
  240.  
  241.  _____Hardware Programming
  242.  
  243.  There's many tricks you can use to make an 8086 or Tandy do cool things, and
  244.  better yet, I've got examples (some with source code) of how to do them!  All
  245.  examples can be ftp'd from ftp.cdrom.com in the
  246.  /pub/demos/incoming/code/8086/examples directory.  Here's some of the things
  247.  you can use to get more points during the judging:
  248.  
  249.  CGA can be "fooled" into displaying 160x100x16!  I am providing
  250.  easy-to-understand Pascal source code that can do this in CGA, EGA, and VGA,
  251.  so you can program and test your routines on your modern graphics card (if
  252.  you don't have CGA or EGA).  The file is called 16colcga.zip
  253.  
  254.  The Tandy has a 3-voice sound chip (copied from the PCjr, just like the 16
  255.  color graphics mode) that can output some fairly decent music for its age.
  256.  The three channels can also be used together cleverly to output digitized
  257.  sound.  Programming these natively will give you great control, but if you
  258.  can't find the docs or don't have the time or skill, there's a package that
  259.  I'm providing called digimidi.zip (see the location above) that will not only
  260.  allow you to play MIDI and digtized sound on the Tandy sound chip, but other
  261.  sound cards as well, and even on the PC speaker (yes, even a 4.77MHz PC
  262.  speaker can play digitized sound, although it can't do much else while it's
  263.  doing that).  (The package, incidentally, is the DigPak and MidPak drivers
  264.  from Miles Design.  You can use these for free for non-commercial use.)
  265.  
  266.  The Tandy also has a 16-color graphics mode (320x200x16) that is only
  267.  slightly different in memory organization than EGA; use this mode as well as
  268.  CGA or text mode and you're guaranteed at least 2 Extra points.  This
  269.  16-color graphics mode is the same mode as the PCjr (the Tandy is a clone of
  270.  the PCjr, not the PC).  Sorry, but I don't have any docs on this right now.
  271.  I seem to remember, however, that the only thing about it that's different
  272.  from EGA is that 1) you initialize the mode differently, and 2) the memory is
  273.  interleaved, just like CGA.  Otherwise, it's the same 4 bits-per-pixel, and
  274.  you can't change the palette (it's the standard text palette).  Sorry, but
  275.  actual EGA is not allowed--the compo machine doesn't support it, and that's
  276.  not the point of the compo anyway.
  277.  
  278. %4.77 MHz is slow, but you can still play a MOD on the PC speaker at about
  279. %4000Hz, or maybe higher on a LPT DAC or Sound Blaster.  (To see this for
  280. %yourself, get glx212.zip in the /pub/demos/incoming/code/8086/examples
  281. %directory on ftp.cdrom.com).  If you don't have the skill for this, then try
  282. %some other music-playing tricks: For instance, you could write a program
  283. %that arpeggiates quickly between notes (psuedo-mixing) for output on the PC
  284. %Speaker, using a MOD, or S3M (adlib?) file for the music.  Or, you can take
  285. %your existing MOD playing routines and mix the song to a hard disk file and
  286. %play it back from there.  You could forget the whole MOD thing and play an
  287. %Adlib (FM) file, which doesn't use much more CPU time than beeping the
  288. %speaker.  Be creative!
  289.  
  290. %The CGA 320x200x4 color mode has three palettes; try using that to your
  291. %advantage.  Also, you might want to think about coding in 640x200x2 colors,
  292. %as you have more resolution.  Use it to fake a 160x100x16 greyscale mode, or
  293. %something.
  294.  
  295.  _____Programming Techniques
  296.  
  297.  There are many things you can do to get a higher score that don't involve any
  298.  hardware programming at all:
  299.  
  300.  Make your demo run even better on a faster machine (all will be tested on a
  301.  Pentium as well as the compo machine--but don't worry if it doesn't run on
  302.  the Pentium, because no points will be taken off if it doesn't).  Here's an
  303.  example:  Remember Unreal's "Apparently this is possible" part?  The faster
  304.  a computer you have, the more circular bobs are put on the screen.  Also,
  305.  older games (some of the first PC demos) did things like this, including
  306.  using EGA if it was available, but falling back to CGA if it was not.
  307.  
  308.  Use a timer to display something on the screen while the next section loads,
  309.  just like Chronologia by Cascada (for you newer 'sceners) or MegaDemo by
  310.  Space Pigs (for us old geezers).
  311.  
  312.  Don't have any ideas?  Then convert one of your exiting demos (or someone
  313.  else's demo) to work on a slow machine with CGA!  Higher scores may be
  314.  awarded to faithful conversions of parts of Future Crew demos, Triton demos,
  315.  and others (like Unreal or Crystal Dream's vector parts, etc.).  For
  316.  instance, this message goes to members of Orange, Impact Studios, Epical,
  317.  Xtacy, Halcyon, Capacala, Iguana, and others:  Convert your winning demos to
  318.  8086!
  319.  
  320.  These are just a few suggestions... be creative!
  321.  
  322.  
  323. =-[Closing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  324.  
  325.  If this is starting to sound too hard, don't get discouraged!  As Charlatan
  326.  once said, "Good code isn't good design, and good design doesn't need good
  327.  code," so if you are having trouble with the programming, fall back on what
  328.  most demos are lacking today--design.  Use text mode if you feel you can't
  329.  get enough speed.  Precalculate things; remember, there's a hard drive with
  330.  10 MB free on it at your disposal to store precalculations.  Also, if you
  331.  want a drawing program that supports the Tandy 320x200x16 color mode,
  332.  DeluxePaint supports it.  If you have VGA or EGA only and can't use that mode
  333.  (or don't want to :) use the 320x200x16 EGA mode and don't change any colors,
  334.  and you'll get the same thing, so you can compose your graphics in that mode
  335.  on your nice fast computer.  :)
  336.  
  337.  Come on everybody--let's get back to the real basics of clever programming!
  338.  Here's a chance to show everyone you're the best!
  339.  
  340. .......................................................End.of.8086.Rules.v1.1.
  341.